﻿using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using System;

namespace AppSocketModel.Consume
{
    /// <summary>
    /// 设备使用费套餐
    /// </summary>
    public class DeviceUsePayTypeSelectDto
    {
        /// <summary>
        /// Id
        /// </summary>
        //[Newtonsoft.Json.JsonIgnore]
        [BsonRepresentation(BsonType.ObjectId)]
        public string Id { get; set; }

        /// <summary>
        /// 账户角色
        /// </summary>
        public AccountRole AccountRole { set; get; }

        /// <summary>
        /// 使用时间(月数)
        /// </summary>
        public int UseMonths { set; get; }

        /// <summary>
        /// 金额
        /// </summary>
        public decimal PayAmount { set; get; }

        /// <summary>
        /// 折扣
        /// </summary>
        public float Discount { set; get; }


        /// <summary>
        /// 实际需要支付金额
        /// </summary>
        public decimal PayAmountActual { set; get; }

        /// <summary>
        /// 启用
        /// </summary>
        public bool IsStartUse { set; get; }

        /// <summary>
        /// 已经废弃
        /// </summary>
        public bool IsDiscard { set; get; }

        /// <summary>
        /// 已经超时
        /// </summary>
        public bool IsOverTime { set; get; }

        /// <summary>
        /// 截止时间
        /// </summary>
        public DateTime OverDateTime { set; get; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateDateTime { set; get; }
        /// <summary>
        /// 创建人名字
        /// </summary>
        public string CreateSystemAccountCode { set; get; }

        /// <summary>
        /// 启用时间
        /// </summary>
        public DateTime StartUseDateTime { set; get; }
        /// <summary>
        /// 启用人名字
        /// </summary>
        public string StartUseSystemAccountCode { set; get; }


        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime ModifyDateTime { set; get; }
        /// <summary>
        /// 修改人名字
        /// </summary>
        public string ModifySystemAccountCode { set; get; }

        /// <summary>
        /// 废弃时间
        /// </summary>
        public DateTime DiscardDateTime { set; get; }
        /// <summary>
        /// 修改人名字
        /// </summary>
        public string DiscardSystemAccountCode { set; get; }

    }
}
